Timothy Arceri [Thu, 8 Dec 2011 01:03:07 +0000 (20:03 -0500)]
print to file: fixed lost filename in gui
Stop widget creating an event before updating both directory and
filename values.
https://bugzilla.gnome.org/show_bug.cgi?id=603823
Benjamin Otte [Wed, 7 Dec 2011 23:20:49 +0000 (00:20 +0100)]
overlay: Properly allocate the child upon addition
This ensures that after addition the child gets assigned the proper
allocation and the child window is properly shown/hidden.
Benjamin Otte [Wed, 7 Dec 2011 22:51:19 +0000 (23:51 +0100)]
overlay: Move code
Move code for child allocation into the child allocation function. Don't
keep it in the overlay allocation code.
See the next commit for why this is useful.
Benjamin Otte [Wed, 7 Dec 2011 23:20:06 +0000 (00:20 +0100)]
overlay: Create child window before setting parent
Otherwise, the window will not be used when set_parent() maps the child.
Rui Matos [Wed, 7 Dec 2011 22:36:53 +0000 (22:36 +0000)]
progressbar: Set state flags on draw
We were missing setting state flags on the style context before drawing.
Rui Matos [Fri, 2 Dec 2011 15:21:20 +0000 (15:21 +0000)]
widget: Unset window-unfocused in gtk_widget_unparent()
Widgets without a parent aren't inside a toplevel window so we must remove
window-unfocused as it doesn't make sense outside a toplevel.
https://bugzilla.gnome.org/show_bug.cgi?id=661428
Benjamin Otte [Wed, 7 Dec 2011 19:09:16 +0000 (20:09 +0100)]
treeview: Fix crash when scrolling to end
This broke in
a4630d0e7b233479825b059e0df0e6d65b0e6734
https://bugzilla.gnome.org/show_bug.cgi?id=665741
Cosimo Cecchi [Tue, 6 Dec 2011 23:41:33 +0000 (18:41 -0500)]
window: copy back window surface data when the implicit paint is flushed
When an implicit paint is flushed during expose, e.g. because a
non-double buffered widget is painting, make sure to copy the existing
data from the window surface we rendered before flushing back to the
paint surface, instead of using an empty base.
Code was already handling that (and said so in the comment), but only
when no implicit paint was used at all, and not in the case when it's
flushed mid-expose.
Cosimo Cecchi [Tue, 6 Dec 2011 23:27:59 +0000 (18:27 -0500)]
window: trivial cleanup
Cosimo Cecchi [Tue, 6 Dec 2011 22:48:24 +0000 (17:48 -0500)]
window: remove unused arguments and variables
Trivial cleanup, no functional change.
Benjamin Otte [Tue, 6 Dec 2011 17:01:57 +0000 (18:01 +0100)]
modifierstyle: Fix compile errors
Introduced in
7bd2446801ffd0fc2ac5cc98fcd675ac4f3935d6
Alexander Larsson [Tue, 6 Dec 2011 13:11:44 +0000 (14:11 +0100)]
Fix demo to use a "normal" transparent value now that it works.
The last commit fixed this, so lets have a sane value in the demo code.
Alexander Larsson [Tue, 6 Dec 2011 13:09:45 +0000 (14:09 +0100)]
Remove broken optimization in style modifier overrides
We used to only set the override color or font if it was different
than the existing value. However, that means you can't change it to
an override that is the same as the default value for the property.
With this fixed you can e.g. override with a color of 0,0,0,0 which
you couldn't before.
Matthias Clasen [Tue, 6 Dec 2011 01:56:02 +0000 (20:56 -0500)]
Try to fix linking
We need to link against gdk against pangoft2 on X11.
Also add Requires.private to gdk-3.0.pc, and try to clean
things up some.
https://bugzilla.gnome.org/show_bug.cgi?id=665326
Alexander Larsson [Mon, 5 Dec 2011 23:23:18 +0000 (00:23 +0100)]
gtk-demo: Add test of transparent GdkWindows
This shows a semi-transparent shadow from a GtkOverlay window
Matthias Clasen [Mon, 5 Dec 2011 23:07:41 +0000 (18:07 -0500)]
Remove an unused variable
Carlos Garnacho [Mon, 5 Dec 2011 16:21:01 +0000 (17:21 +0100)]
gtk,notebook: Invalidate the gap side when reordering tabs
This narrow area is invalidated so the gap follows the tab
being reordered.
Alexander Larsson [Mon, 5 Dec 2011 20:13:50 +0000 (21:13 +0100)]
notebook: Make the tab reordering dnd window transparent
Cosimo Cecchi [Mon, 5 Dec 2011 18:21:11 +0000 (13:21 -0500)]
statusicon: fix the build on !X11
Uninevitable fallout from my last patch to GtkStatusIcon. Thanks to Rob
Bradford for testing this.
Benjamin Otte [Mon, 5 Dec 2011 17:26:17 +0000 (18:26 +0100)]
widget: Update Pango context on state change
The layout depends on the state flags, so it must be updated when they
change.
Benjamin Otte [Mon, 5 Dec 2011 17:25:39 +0000 (18:25 +0100)]
label: Clear layout on state change
Selected or active text might be rendered differently.
Benjamin Otte [Mon, 5 Dec 2011 17:24:44 +0000 (18:24 +0100)]
label: Move callback to new stuff
We want to react to state flags changing, not to the (deprecated) state
type changing.
Rob Bradford [Mon, 5 Dec 2011 15:55:37 +0000 (15:55 +0000)]
wayland: Port from wl_shell to wl_surface_shell
Previously all the commands that acted on the shell took the surface that was
to be acted on as parameter. Now we retrieve an object from the shell that
represents its state for the surface. With that wl_shell_surface object we can
then call methods on that.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Cosimo Cecchi [Fri, 2 Dec 2011 16:58:14 +0000 (11:58 -0500)]
stylecontext: always add the ARROW style class when rendering an arrow
When gtk_render_arrow() is called, always add an ARROW style class to
the GtkStyleContext before rendering, so themes can specify a different
color for it.
https://bugzilla.gnome.org/show_bug.cgi?id=665420
Cosimo Cecchi [Fri, 2 Dec 2011 16:57:44 +0000 (11:57 -0500)]
stylecontext: add GTK_STYLE_CLASS_ARROW
For e.g. submenu items arrow in GtkMenuItems.
https://bugzilla.gnome.org/show_bug.cgi?id=665420
Cosimo Cecchi [Wed, 30 Nov 2011 22:50:51 +0000 (17:50 -0500)]
statusicon: port to GtkIconHelper
Just always render the pixbuf ourselves and set it on the GtkImage in
the X11 case.
Code for other backends was already rendering the pixbuf manually before
translating it into a native type, so this greatly simplifies the code.
https://bugzilla.gnome.org/show_bug.cgi?id=665409
Alexander Larsson [Mon, 5 Dec 2011 13:24:28 +0000 (14:24 +0100)]
Merge branch 'transparent-windows'
Alexander Larsson [Mon, 5 Dec 2011 11:51:55 +0000 (12:51 +0100)]
Make window handle transparent
Instead of painting the window background on the grip_window we now
only paint it on the GtkWindow->window, and we make the grip_window
have a transparent background.
We can't really make transparent window handle background optional
via css atm, because the handle color is actually based on the
background color, so if that is set to transparent we won't draw
anything.
Alexander Larsson [Mon, 5 Dec 2011 11:18:22 +0000 (12:18 +0100)]
gdk: gdk_window_get_update_area don't remove alpha covered areas
gdk_window_get_update_area is supposed to get the area where things
need painting, and remove them from the update areas. However, if
some area is covered by other windows with an alpha background we
can't just expect whatever the app choses to render in the update
area as correct, so we don't actually remove these areas, meaning
they will get correctly rendered when we get to the expose handlers.
Alexander Larsson [Mon, 5 Dec 2011 11:16:55 +0000 (12:16 +0100)]
gdk: gdk_window_move_region
gdk_window_move_region doesn't move children, so we can't copy
transparent child window regions with copyarea, so we remove these
from the copy region.
Alexander Larsson [Mon, 5 Dec 2011 10:40:30 +0000 (11:40 +0100)]
gdk: Fix alpha window background paintings on non-implicit paints
Alexander Larsson [Mon, 5 Dec 2011 09:59:07 +0000 (10:59 +0100)]
gdk: Remove unused _gdk_window_calculate_full_clip_region
Alexander Larsson [Mon, 5 Dec 2011 09:55:55 +0000 (10:55 +0100)]
Handle has_alpha_background for parent-relative backgrounds
Cosimo Cecchi [Mon, 5 Dec 2011 00:57:25 +0000 (19:57 -0500)]
entry: avoid a mismatched cairo_save/restore
Leftover from GtkIconHelper migration.
Paolo Borelli [Sun, 4 Dec 2011 18:20:23 +0000 (19:20 +0100)]
Remove unused alignment from GtkTooltip.
Paolo Borelli [Sat, 3 Dec 2011 16:51:36 +0000 (17:51 +0100)]
Plug tiny leak in the css parser
Kristian Høgsberg [Wed, 30 Nov 2011 15:21:27 +0000 (10:21 -0500)]
wayland: Update to recent API changes
Claudio Saavedra [Thu, 1 Dec 2011 21:47:36 +0000 (22:47 +0100)]
GtkIconView: fix a memory corruption in the drag-n-drop code
You shall free with g_slice_free() what you allocate with
g_slice_new().
https://bugzilla.gnome.org/show_bug.cgi?id=665338
Alexander Larsson [Thu, 1 Dec 2011 15:45:36 +0000 (16:45 +0100)]
gdk: Fix repaint of layered region during move_region
Alexander Larsson [Thu, 1 Dec 2011 15:45:18 +0000 (16:45 +0100)]
gdk: Fix repaint of layered region during scroll
Alexander Larsson [Thu, 1 Dec 2011 15:44:51 +0000 (16:44 +0100)]
gdk: Fix repaint of layered region during raise
Alexander Larsson [Thu, 1 Dec 2011 15:27:37 +0000 (16:27 +0100)]
gdk: Make sure we don't copy to/from layered regions when moving a window
Alexander Larsson [Thu, 1 Dec 2011 12:57:47 +0000 (13:57 +0100)]
gdk: Track the layered area
We track the areas that have alpha coverage so that we can
avoid using these as sources when copying window contents.
We also don't remove such areas from the clipping regions so
that they are painted both by parent and child.
Alexander Larsson [Thu, 1 Dec 2011 12:57:27 +0000 (13:57 +0100)]
gdk: Track wether windows have alpha in the background
This will let us handle such windows differently in the
drawing machinery
Alexander Larsson [Thu, 1 Dec 2011 15:21:45 +0000 (16:21 +0100)]
testwindows: Add a button to cause a repaint
This makes it easy to find various kinds of repaint bugs
Alexander Larsson [Thu, 1 Dec 2011 13:09:52 +0000 (14:09 +0100)]
testwindows: Test transparent backgrounds
Alexander Larsson [Thu, 1 Dec 2011 12:42:09 +0000 (13:42 +0100)]
gdk: Expose bottommost windows first
This cleans up the expose handling a bit by using the existing
clip regions, and it allows us later to use painters algorithm
to do transparent windows.
Alexander Larsson [Thu, 1 Dec 2011 12:38:04 +0000 (13:38 +0100)]
gdk: Remove now unused region tags completely
Cosimo Cecchi [Thu, 1 Dec 2011 00:46:31 +0000 (19:46 -0500)]
image: use the default icon size if no icon size is provided
If no icon size is provided (e.g. when setting icon-name or stock-id
using the GObject property directly), use the default icon size. This
matches the previous GtkImage behavior.
Cosimo Cecchi [Thu, 1 Dec 2011 00:46:16 +0000 (19:46 -0500)]
image: minor cleanup
Paolo Borelli [Sun, 27 Nov 2011 15:38:04 +0000 (16:38 +0100)]
Introduce gtk_render_insertion_cursor
The new function provides an API that takes the PangoLayout and index
as input params, this way it handles strong and weak cursors internally
factoring out all code duplicated in the widgets that need to render
cursors.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
Paolo Borelli [Sun, 27 Nov 2011 14:12:36 +0000 (15:12 +0100)]
Use the split-cursor setting for textview cursors
Explicitely check the split-cursor setting when drawing the textview
insertion cursor instead of relying on the cursor_direction set in the
textlayout. This makes the cursor drawin code more uniform with other
widgets in preparation to refactoring the cursor drawing code in a
shared function.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
Paolo Borelli [Sat, 26 Nov 2011 22:48:10 +0000 (23:48 +0100)]
Rework GtkTextView cursor code.
Move the handling of primary/secondary cursors to gtktextdisplay, which
makes code simpler and more consistent to how GtkLabel and GtkEntry
draw cursors, which is useful in preparation to further refactoring.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
Paolo Borelli [Sat, 26 Nov 2011 20:09:25 +0000 (21:09 +0100)]
Tiny cleanup.
https://bugzilla.gnome.org/show_bug.cgi?id=640317
Paolo Borelli [Sat, 26 Nov 2011 22:11:08 +0000 (23:11 +0100)]
Remove draw_insertion_cursor in label and entry
Remove the the draw_insertion_cursor wrapper which just converts from
GtkTextDir to PangoDirection
https://bugzilla.gnome.org/show_bug.cgi?id=640317
Cosimo Cecchi [Thu, 1 Dec 2011 00:06:21 +0000 (19:06 -0500)]
image: simplify code
We can unconditionally call into the icon helper methods now that we
removed the g_return_val_if_fail() checks.
Cosimo Cecchi [Thu, 1 Dec 2011 00:05:34 +0000 (19:05 -0500)]
entry: simplify code
We can unconditionally call into the icon helper methods now that we
removed the g_return_val_if_fail() checks.
Cosimo Cecchi [Thu, 1 Dec 2011 00:04:17 +0000 (19:04 -0500)]
icon-helper: remove useless checks
When we change storage type, we always clear the rest of the object, so
these checks do not add any safety.
Cosimo Cecchi [Wed, 30 Nov 2011 23:32:01 +0000 (18:32 -0500)]
icon-helper: don't warn out when the icon size is GTK_ICON_SIZE_INVALID
We can call ensure_icon_size() for an empty image; don't warn out in
that case, but just return a zero width.
Cosimo Cecchi [Wed, 30 Nov 2011 23:15:05 +0000 (18:15 -0500)]
icon-helper: don't reset pixel_size when clearing the helper
Don't reset the pixel size when clearing the helper; pixel-size is e.g a
property of GtkImage, which is stable unless explicitly set.
Cosimo Cecchi [Wed, 30 Nov 2011 16:40:32 +0000 (11:40 -0500)]
entry: always prepare the style context when using it for entry icons
Make sure to always prepare the entry's style context for the entry icon
style when passing it to GtkIconHelper.
Cosimo Cecchi [Wed, 30 Nov 2011 16:27:24 +0000 (11:27 -0500)]
cellrendererpix: make sure to select the default helper as a fallback
If we don't have expander pixbufs, select the default helper to render
the icon, even if the cell is an expander. This mimics what the old code
did.
Cosimo Cecchi [Wed, 30 Nov 2011 15:30:32 +0000 (10:30 -0500)]
cellrendererpix: port to GtkIconHelper
Cosimo Cecchi [Wed, 30 Nov 2011 14:43:09 +0000 (09:43 -0500)]
entry: port to GtkIconHelper
Cosimo Cecchi [Wed, 30 Nov 2011 05:06:13 +0000 (00:06 -0500)]
dnd: port to GtkIconHelper
Cosimo Cecchi [Wed, 30 Nov 2011 04:06:37 +0000 (23:06 -0500)]
image: port to GtkIconHelper
Use newly introduced GtkIconHelper to render pixbufs in GtkImage.
Cosimo Cecchi [Wed, 30 Nov 2011 03:26:19 +0000 (22:26 -0500)]
icon-helper: add GtkIconHelper private object
GtkIconHelper is a helper object to easily obtain a pixbuf from
different icon sources (e.g. a GIcon, an icon name, a stock id, ...).
Code is ported from GtkImage, which will be adapted in the next commit.
Stef Walter [Tue, 22 Nov 2011 07:13:04 +0000 (08:13 +0100)]
GtkCssProvider: don't segfault when CSS file is not found
* Fix null dereference in gtk_css_provider_take_error()
* And another in gtk_css_provider_emit_error()
https://bugzilla.gnome.org/show_bug.cgi?id=664537
Matthias Clasen [Wed, 30 Nov 2011 05:16:43 +0000 (00:16 -0500)]
XI2: Push error traps around XIQueryDevice calls
This may help against the crashes at resume time that some
people have been hitting when input devices mysteriously
disappear.
Federico Mena Quintero [Tue, 29 Nov 2011 21:08:25 +0000 (15:08 -0600)]
[GtkFileChooserDefault] Don't destroy and re-create the filename entry
This is a leftover from the big rework to remove the expanded/collapsed mode
in Save mode.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
Federico Mena Quintero [Tue, 29 Nov 2011 21:07:01 +0000 (15:07 -0600)]
[GtkPathBar] Remove unused error argument
It used to be that _gtk_path_bar_set_file() would return an error if
it wasn't able to switch to the specified file, but that hasn't been
the case for a long while now, since the file chooser became async.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
Paolo Borelli [Tue, 29 Nov 2011 20:14:24 +0000 (21:14 +0100)]
Avoid shadowing a variable
Move bg_color variable to an inner scope.
Federico Mena Quintero [Mon, 28 Nov 2011 18:03:02 +0000 (12:03 -0600)]
[path-bar] Add some comments to explain the async recursion on an I/O callback
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
Federico Mena Quintero [Mon, 28 Nov 2011 17:49:35 +0000 (11:49 -0600)]
[path-bar] Only reset the children's styles if the children actually changed
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
Federico Mena Quintero [Mon, 28 Nov 2011 17:34:37 +0000 (11:34 -0600)]
Remove unused argument
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
Benjamin Otte [Tue, 29 Nov 2011 19:39:21 +0000 (20:39 +0100)]
filechooserdefault: Don't unref value twice
Double unref was introduced in
eb02dacb370e8b4e6ef62328d0c09673b1234b32
https://bugzilla.gnome.org/show_bug.cgi?id=646461
https://bugzilla.gnome.org/show_bug.cgi?id=664137
Benjamin Otte [Sat, 26 Nov 2011 23:06:53 +0000 (00:06 +0100)]
treeview: Properly change cursor when row is collapsed
Previously, when the cursor was a descendant of the collapsed row,
the cursor path was set to the collapsed row, but this was not
communicated via cursor-changed events.
Benjamin Otte [Sat, 26 Nov 2011 22:49:05 +0000 (23:49 +0100)]
treeview: Reorder code a bit
This is mainly in preparation for the next commit, but also to reorder
the code to
1) prepare modification of tree
2) modify tree
3) emit signals
Mike Gorse [Sat, 26 Nov 2011 22:08:09 +0000 (23:08 +0100)]
tests: Add new test that is currently failing
Benjamin Otte [Sat, 26 Nov 2011 02:36:45 +0000 (03:36 +0100)]
treeview: Simplify code
Since the changes in commit
2b3de3dd this simplification is possible.
Benjamin Otte [Sat, 26 Nov 2011 01:54:34 +0000 (02:54 +0100)]
treeview: Rename function
_gtk_tree_view_find_path() was not a name that not really described what
the function does. And I kept forgetting it. Also, it took the tree view
as an argument and that was completely unnecessary.
Benjamin Otte [Fri, 25 Nov 2011 19:56:07 +0000 (20:56 +0100)]
tests: Add automatic expanding/collapsing
Makes the test test even more stuff.
Benjamin Otte [Fri, 25 Nov 2011 19:54:48 +0000 (20:54 +0100)]
tests: Fix the iter stepping code
The old code actually was wrong and could cause assertions and crashes,
in particular when stepping out of a deep tree back onto the highest
layer.
Benjamin Otte [Fri, 25 Nov 2011 15:31:34 +0000 (16:31 +0100)]
tests: Check that the cursor keeps up to date
This actually demonstrates a bug where the treeview doesn't emit a
cursor-changed signal when the cursor row is deleted.
Benjamin Otte [Fri, 25 Nov 2011 14:46:23 +0000 (15:46 +0100)]
reftests: Fix test for border-image addition
Cosimo Cecchi [Tue, 29 Nov 2011 15:51:29 +0000 (10:51 -0500)]
widget-factory: make one of the two spinbuttons active
Cosimo Cecchi [Mon, 28 Nov 2011 22:40:32 +0000 (17:40 -0500)]
themingengine: fix a typo
Cosimo Cecchi [Mon, 28 Nov 2011 22:33:19 +0000 (17:33 -0500)]
themingengine: move code to make switch-case more clear
Code is more readable with the default case as the last one in the
switch block.
Yuri Myasoedov [Mon, 28 Nov 2011 20:08:32 +0000 (00:08 +0400)]
Updated Russian translation
Cosimo Cecchi [Mon, 28 Nov 2011 19:41:02 +0000 (14:41 -0500)]
pathbar: add the linked style class to GtkPathBar
Cosimo Cecchi [Mon, 28 Nov 2011 19:40:04 +0000 (14:40 -0500)]
stylecontext: add GTK_STYLE_CLASS_LINKED
"linked" is a style class for linked areas, such as a box containing
buttons belonging to the same control.
Javier Jardón [Mon, 28 Nov 2011 15:23:00 +0000 (15:23 +0000)]
gtk/gtkeditable: Some docs fixes
Cosimo Cecchi [Wed, 23 Nov 2011 03:08:59 +0000 (22:08 -0500)]
spinbutton: redesign to use an horizontal layout
Rewrite GtkSpinButton to use a touchscreen friendly horizontal layout.
Other features include:
- support for theming buttons with nth-child
- full support for RTL
- use + and - symbolic icons instead of arrows
- general streamlining and cleanup of a lot of related code
https://bugzilla.gnome.org/show_bug.cgi?id=663359
Alexander Larsson [Mon, 28 Nov 2011 09:06:38 +0000 (10:06 +0100)]
win32-theme: Make tabs look better
Alexander Larsson [Mon, 28 Nov 2011 09:05:29 +0000 (10:05 +0100)]
Support border-image in theme_engine_render_frame_gap
This is similar to the normal frame rendering, but has a clip
region applied for the gap.
Alexander Larsson [Mon, 28 Nov 2011 08:14:13 +0000 (09:14 +0100)]
win32-theme: Add some margins on GtkScale trought to look like win32
Alexander Larsson [Mon, 28 Nov 2011 08:13:54 +0000 (09:13 +0100)]
win32-theme: Support custom margins in win32 theme parts
Alexander Larsson [Mon, 28 Nov 2011 08:12:28 +0000 (09:12 +0100)]
Fix up makefile rules for parallel builds
The gtkwin32css.h generation code used a temporary filename that was also
used by some other files, which is racy. Use a unique one.
Alexander Larsson [Mon, 28 Nov 2011 07:39:15 +0000 (08:39 +0100)]
win32-theme: Make syntax for mixing theme parts more regular
This lets us extend the argument list better
Alexander Larsson [Fri, 25 Nov 2011 15:43:51 +0000 (16:43 +0100)]
win32-theme: Make notebook tabs slightly better